[USER (data scientist)]: Now, I'd like to categorize players into ranking groups based on their average rank. Can you help me with that? Please generate the code with the output in dataframe type.
My template of code snippet is:

---BEGIN CODE TEMPLATE---

import pandas as pd
import numpy as np
import pickle
from decision_company import read_csv_file, create_dataframe, df_copy, concatenate_objects, bind_dataframe, aggregate_grouped_data, positive_infinity, make_bins, join_dataframes, create_figure, create_barplot, set_plot_title, set_yaxis_label, show_plots, join_dataframes, anova_test, dropna

atp_tennis = read_csv_file('atp_tennis.csv')

# YOUR SOLUTION BEGIN:
<code1>
[GENERATE YOUR CODE] 
</code1>
# YOUR SOLUTION END

print(grouped_data)

# save data
pickle.dump(grouped_data,open("./pred_result/grouped_data.pkl","wb"))

---END CODE TEMPLATE---

[YOU (AI assistant)]: Alright, let's categorize players into those ranking groups and calculate the average win/loss ratio for each group and surface type. Here's the code for that: 

# MY SOLUTION BEGIN:
